A digital micromirror device (DMD), such as a Texas Instruments DLP™ micromirror device, can be used as part of an image projection system to create visual images using microscopically small mirrors laid out in a matrix on a semiconductor chip. Each mirror represents one or more pixels in a projected image. The number of mirrors corresponds to the resolution of the projected image. These mirrors can be repositioned rapidly to reflect light either through a lens or on to a heatsink. The data that is received by the DMD and that indicates the position of each of the mirrors at points in time is called a “bit plane.” For example, consider an array filled with 1000 elements of 8-bit data. Each element can represent the position of a mirror or group of mirrors at a point in time. This array can be divided into eight 1000-bit arrays, the first of which would have all of bits for bit-position 0, the next would have all of the bits for bit-position 1, etc. Each of these eight 1000-bit arrays is a bit plane.
Image data from a video source often is not in bit-plane format. Image data from a video source may be in a frame by frame format, for instance. In order for a DMD to display frame data, the frame data must be converted into a bit-plane format. This conversion is called “corner turning.” The term corner turning refers to the fact that the transformation from frame data to bit plane data resembles turning the frame data on a corner. The corner turn function can be accomplished by executing a code sequence in a DSP that converts a sequence of N bit numbers and produces a set of N bitmaps. The N bits of each number are generally stored together in a single storage unit such as a single memory location. Each bitmap contains one bit plane from the original data set.
The corner turning function can be a feature of a digital signal processor (DSP), a chip that can perform digital signal processing. In this context, the DSP formats data for the DMD by performing the “corner turn” function, which creates bit planes from frame data. A feature of some DSPs includes DSP operation codes (op-codes) that can be used to perform the corner turn function for DMD image projection systems.
Bit-plane oriented schemes usually make poor use of memory bandwidth. To read a given bit position across an entire data set, prior art schemes read the entire data set, extract the bit of interest and discard the other bits. This process must be repeated for each bit plane. These prior art schemes read about N times as much data as actually used for N-bit data elements.
Traditional solutions to planarization can only effectively process one bit-plane at a time. The straightforward implementation reads the data N times. Even if all N bit planes are extracted the first time the data is read, the extraction process usually operates only one bit at a time.